<script type="text/javascript"
     src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<head>
    <link rel="stylesheet" href="stylesheet_TMATS.css">
</head>

<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<title>
    T-MATS: Help for Parameter Ramp Library Block
</title>

<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<body>
    <h1>
      T-MATS: Parameter Ramp Library Block
    </h1>
<hr>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<div class="purpose">
        Purpose
</div>

<p>
    This block is used to ramp another block's input parameter from an
    initial value to a final value.
</p>

<br>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<div class="background">
        Background
</div>

<p>
    To step the parameter from one value to the next, this block essentially
    replaces the inital value with a value that is solved for using the
    specified ramp times. This value varies according to the time at which the
    block is used:

    <ul style="list-style-type:square">
        <li>If the block is used before the start ramp time: the value will
        be set to the initial value.
        <li>If the block is used after the end ramp time: the value will be
        set to the final value.
        <li>If the block is used between the start and end ramp times: the
        value will be determined via interpolation using the time input and
        the ramp times.
    </ul>
</p>
<p>
    Note: any parameter changed with this block must be tunable.
</p>

<br>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<div class="instructions">
        Instructions
</div>

<p>
     To use this block:
    <ul>
        <li> Double click the block.
        <li> Enter the name of the block that contains the parameter to be adjusted.
        <li> Enter the name of the parameter to be adjusted.
        <li> Input the initial value of the parameter.
        <li> Input the final value of the parameter.
        <li> Input the start and end ramp time.
    </ul>
</p>



<br><hr><br>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<div class="inputs">
        Parameter Ramp Inputs
</div>

No direct inputs are required for this block, as the needed inputs are specified
by the mask variables.

<br><br>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<div class="outputs">
        Parameter Ramp Outputs
</div>

No direct outputs are required for this block, as the needed outputs are specified
by the mask variables.

<br><br>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<div class="maskvars">
        Parameter Ramp Mask Variables
</div>

<table>
    <tr><th> Mask Variable </th><th> Description </th></tr>
    <tr><td>BN_M</td><td>Block name. <br>Note: The MATLAB command "gcb" can
                            be used to determine a block name.</td></tr>
    <tr><td>PN_M</td><td>Parameter name. <br> Note: The block internal
                            workings makes use of the MATLAB set_parm
                            function and parameter names will need to be
                            in the form required by this function. </td></tr>
    <tr><td>IV_M</td><td>Initial value defined as a string. Size and value
                            must match block's parameter initial size and value.</td></tr>
    <tr><td>FV_M</td><td>Final value defined as a string. Size must match
                            block's parameter initial size</td></tr>
    <tr><td>ST_M</td><td>Start ramp time defined as a number</td></tr>
    <tr><td>ET_M</td><td>End ramp time defined as a number</td></tr>
</table>


<br><hr><br>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<div class = "errors">
    Potential Errors
</div>
<p>
When using this block, an error may occur if the parameter names are not specified
in the way that the MATLAB function "set_parm" specifies. To resolve this error,
enter the parameter names in the form required by this function. Another error
may occur if the values input by the user for the initial value and final value
mask variables are not the same size as the parameter specified in the block.

<br><br>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
</body>